const { fs, path } = require("@vuepress/shared-utils");

module.exports = (ctx) => ({
	base: "/vue-data-view/",
	dest: "./docs",
	locales: {
		"/zh/": {
			lang: "zh-CN",
			title: "可视化编辑器",
			description: "可视化编辑器",
		},
	},
	head: [
		["link", { rel: "icon", href: `/logo.png` }],
		["link", { rel: "manifest", href: "/manifest.json" }],
		["meta", { name: "theme-color", content: "#3eaf7c" }],
		["meta", { name: "apple-mobile-web-app-capable", content: "yes" }],
		[
			"meta",
			{ name: "apple-mobile-web-app-status-bar-style", content: "black" },
		],
		[
			"link",
			{ rel: "apple-touch-icon", href: `/icons/apple-touch-icon-152x152.png` },
		],
		[
			"link",
			{
				rel: "mask-icon",
				href: "/icons/safari-pinned-tab.svg",
				color: "#3eaf7c",
			},
		],
		[
			"meta",
			{
				name: "msapplication-TileImage",
				content: "/icons/msapplication-icon-144x144.png",
			},
		],
		["meta", { name: "msapplication-TileColor", content: "#000000" }],
	],
	themeConfig: {
		repo: "lizhensheng/vue-data-view",
		editLinks: false,
		docsDir: "docs",
		// #697 Provided by the official algolia team.
		algolia: ctx.isProd
			? {
					apiKey: "3a539aab83105f01761a137c61004d85",
					indexName: "vuepress",
			  }
			: null,
		smoothScroll: true,
		locales: {
			"/zh/": {
				label: "简体中文",
				selectText: "选择语言",
				ariaLabel: "选择语言",
				lastUpdated: "上次更新",
				nav: require("./nav/zh"),
				sidebar: {
					// '/zh/api/': getApiSidebar(),
					"/zh/guide/": getGuideSidebar("指南", "深入"),
					// '/zh/plugin/': getPluginSidebar('插件', '介绍', '官方插件'),
					// '/zh/theme/': getThemeSidebar('主题', '介绍')
				},
			},
		},
	},
	plugins: [
		["@vuepress/back-to-top", true],
		[
			"@vuepress/pwa",
			{
				serviceWorker: true,
				updatePopup: true,
			},
		],
		["@vuepress/medium-zoom", true],
		[
			"@vuepress/google-analytics",
			{
				ga: "UA-128189152-1",
			},
		],
		[
			"container",
			{
				type: "vue",
				before: '<pre class="vue-container"><code>',
				after: "</code></pre>",
			},
		],
		[
			"container",
			{
				type: "upgrade",
				before: (info) => `<UpgradePath title="${info}">`,
				after: "</UpgradePath>",
			},
		],
		["flowchart"],
	],
	extraWatchFiles: [".vuepress/nav/zh.js"],
});

// function getApiSidebar () {
//   return [
//     'cli',
//     'node'
//   ]
// }

function getGuideSidebar(groupA, groupB) {
	return [
		{
			title: groupA,
			collapsable: false,
			children: [
				"",
				"getting-started",
				"login",
				"code-tree",
				"database",
				"shortkey",
				"search",
			],
		},
		{
			title: groupB,
			collapsable: false,
			children: ["add-component"],
		},
	];
}

// const officalPlugins = fs
//   .readdirSync(path.resolve(__dirname, '../plugin/official'))
//   .map(filename => 'official/' + filename.slice(0, -3))
//   .sort()

// function getPluginSidebar (pluginTitle, pluginIntro, officialPluginTitle) {
//   return [
//     {
//       title: pluginTitle,
//       collapsable: false,
//       children: [
//         ['', pluginIntro],
//         'using-a-plugin',
//         'writing-a-plugin',
//         'life-cycle',
//         'option-api',
//         'context-api'
//       ]
//     },
//     {
//       title: officialPluginTitle,
//       collapsable: false,
//       children: officalPlugins
//     }
//   ]
// }

// function getThemeSidebar (groupA, introductionA) {
//   return [
//     {
//       title: groupA,
//       collapsable: false,
//       sidebarDepth: 2,
//       children: [
//         ['', introductionA],
//         'using-a-theme',
//         'writing-a-theme',
//         'option-api',
//         'default-theme-config',
//         'blog-theme',
//         'inheritance'
//       ]
//     }
//   ]
// }
